package com.zengde.ai_sandbox.service;

import reactor.core.publisher.Flux;

/**
 * 大模型通用接口
 * 提供多种类型的对话模式
 */
public interface SuperBigModelInterface {
    
    /**
     * 非深度思考、非流式调用
     * @param sessionId 会话ID
     * @param content 用户输入内容
     * @return 模型响应文本
     */
    String ntns(String sessionId, String content);
    
    /**
     * 非深度思考、流式调用
     * @param sessionId 会话ID
     * @param content 用户输入内容
     * @return 流式响应
     */
    Flux<String> nts(String sessionId, String content);
    
    /**
     * 深度思考、流式调用
     * @param sessionId 会话ID
     * @param content 用户输入内容
     * @return 流式响应
     */
    Flux<String> ts(String sessionId, String content);
    
    /**
     * 深度思考、非流式调用
     * @param sessionId 会话ID
     * @param content 用户输入内容
     * @return 模型响应文本
     */
    String tns(String sessionId, String content);
    
    /**
     * 图像聊天
     * @param sessionId 会话ID
     * @param content 用户输入内容
     * @param imageUrl 图像URL
     * @return 模型响应文本
     */
    String imgChat(String sessionId, String content, String imageUrl);
    
    /**
     * 初始化会话
     * @param sessionId 会话ID
     * @param rolePrompt 角色提示词
     */
    void initializeSession(String sessionId, String rolePrompt);
}
